/*
 * my_task.h
 *
 *  Created on: Aug 12, 2010
 *      Author: sdaniele
 */

#ifndef MY_TASK_H_
#define MY_TASK_H_


#include "tbb/task.h"

#include <string>
#include <iostream>
#include <limits>

namespace pilot {

#define FLOPS 5

class my_task : public ::tbb::task {
public:
	my_task(size_t logflops, ::std::string name, size_t depth);
	virtual ~my_task();

	void operator()(){
		this->execute();
	}
	::tbb::task* execute();
	void report() const;

private:
	size_t m_logflops;
	::std::string m_name;
	size_t m_depth;
};

}

#endif /* MY_TASK_H_ */
